home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-10-25 | 2.3 KB | 116 lines | [TEXT/KAHL] |
- typedef unsigned int PhysicalAddress;
- typedef unsigned int Word;
-
- typedef struct {
- unsigned int lu:1;
- unsigned int limit:15;
- unsigned int :14;
- unsigned int dt:2;
- unsigned int addr:28;
- unsigned int :4;
- } RootPointerRegister;
-
- #define LU_UPPER 0
- #define LU_LOWER 1
-
- #define DT_INVALID 0
- #define DT_PAGE 1
- #define DT_VALID_4 2
- #define DT_VALID_8 3
-
- typedef struct {
- unsigned int enable:1;
- unsigned int :5;
- unsigned int sre:1;
- unsigned int fcl:1;
- unsigned int ps:4;
- unsigned int is:4;
- unsigned int tia:4;
- unsigned int tib:4;
- unsigned int tic:4;
- unsigned int tid:4;
- } TranslationControlRegister;
-
- #define PS_256 0x8
- #define PS_512 0x9
- #define PS_1K 0xa
- #define PS_2K 0xb
- #define PS_4K 0xc
- #define PS_8K 0xd
- #define PS_16K 0xe
- #define PS_32K 0xf
-
- typedef struct {
- unsigned int lba:8;
- unsigned int lam:8;
- unsigned int enable:1;
- unsigned int :4;
- unsigned int ci:1;
- unsigned int rw:1;
- unsigned int rwm:1;
- unsigned int :1;
- unsigned int fcbase:3;
- unsigned int :1;
- unsigned int fcmask:3;
- } TransparentTranslationRegister;
-
- typedef struct {
- unsigned int addr:28;
- unsigned int u:1;
- unsigned int wp:1;
- unsigned int dt:2;
- } ShortTableDescriptor;
-
- typedef struct {
- unsigned int addr:24;
- unsigned int :1;
- unsigned int ci:1;
- unsigned int :1;
- unsigned int m:1;
- unsigned int u:1;
- unsigned int wp:1;
- unsigned int dt:2;
- } ShortPageDescriptor;
-
- typedef struct {
- unsigned int lu:1;
- unsigned int limit:15;
- unsigned int :7;
- unsigned int s:1;
- unsigned int :4;
- unsigned int u:1;
- unsigned int wp:1;
- unsigned int dt:2;
- unsigned int addr:28;
- unsigned int :4;
- } LongTableDescriptor;
-
- typedef struct {
- unsigned int :23;
- unsigned int s:1;
- unsigned int :1;
- unsigned int ci:1;
- unsigned int :1;
- unsigned int m:1;
- unsigned int u:1;
- unsigned int wp:1;
- unsigned int dt:2;
- unsigned int addr:24;
- unsigned int :8;
- } LongPageDescriptor;
-
- void GetTC(TranslationControlRegister *);
- void GetTT0(TransparentTranslationRegister *);
- void GetTT1(TransparentTranslationRegister *);
- void SetTT0(TransparentTranslationRegister *);
- void SetTT1(TransparentTranslationRegister *);
- void GetCRP(RootPointerRegister *);
- void GetSRP(RootPointerRegister *);
- int GetSFC(void);
- int GetDFC(void);
- void SetSFC(int);
- void SetDFC(int);
-
- unsigned int ReadPhysicalWords(PhysicalAddress pa, Word *buf, int nWords);
- unsigned int WritePhysicalWords(PhysicalAddress pa, Word *buf, int nWords);
-